package com.papers.juan.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.papers.common.annotation.ExcelDictFormat;
import com.papers.common.constant.DictTypeConstants;
import com.papers.common.convert.ExcelDictConvert;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 题目视图对象 t_juan_question
 *
 * @author papers
 * @date 2022-10-08
 */
@Data
@ExcelIgnoreUnannotated
public class TJuanQuestionVo {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
//    @ExcelProperty(value = "ID")
    private String questionId;

    /**
     * 题库编号
     */
//    @NotNull
//    @ExcelProperty(value = "题库编号")
    private String reposCode;

    /**
     * 课程ID
     */
//    @ExcelProperty(value = "课程ID")
    private String courseId;

    /**
     * 课程编号
     */
//    @ExcelProperty(value = "课程编号")
    private String courseCode;

    /**
     * 章节ID
     */
//    @ExcelProperty(value = "章节ID")
    private String chapterId;

    /**
     * 知识点ID
     */
//    @ExcelProperty(value = "知识点ID")
    private String knowledgeId;

    /**
     * 知识点名称
     */
    private String knowledgeName;

    /**
     * 编码
     */
//    @NotNull
//    @ExcelProperty(value = "题目编码")
    private String questionCode;

    /**
     * 知识点编号
     */
    @NotNull
    @ExcelProperty(value = "知识点编号")
    private String knowledgeCode;

    /**
     * 题目类型
     */
    @NotNull
    @ExcelProperty(value = "题目类型", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = DictTypeConstants.QUESTION_TYPE)
    private String questionType;

    /**
     * 分数
     */
//    @ExcelProperty(value = "分数")
//    private String score;
    /**
     * 难度系数
     */
    @NotNull
    @ExcelProperty(value = "难度系数")
    private BigDecimal questionDifficult;


    /**
     * 难易程度
     */
    @NotNull
    @ExcelProperty(value = "难易程度", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = DictTypeConstants.DIFFICULTY)
    private String questionEasy;

    /**
     * 专业
     */
//    @ExcelProperty(value = "专业")
    private String questionMajor;

    /**
     * 重要性
     */
    @NotNull
    @ExcelProperty(value = "重要性", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = DictTypeConstants.GRADE)
    private String questionGrade;

    /**
     * 能力层次
     */
    @ExcelProperty(value = "能力层次",converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = DictTypeConstants.CAPABILITY_LEVEL)
    private String capabilityLevel;

    /**
     * 题干
     */
//    @ExcelProperty(value = "题干")
    private String questionSubject;

    /**
     * 分值
     */
    @ExcelProperty(value = "分值")
    private Integer score;

    /**
     * 选项内容JSON
     */
    @ExcelProperty(value = "题目内容")
    private String questionContent;

    /**
     * 答案
     */
    @ExcelProperty(value = "答案")
    private String answer;

    /**
     * 创建人
     */
//    @ExcelProperty(value = "创建人")
    private String createdBy;

    /**
     * 创建时间
     */
//    @ExcelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 更新人
     */
//    @ExcelProperty(value = "更新人")
    private String updatedBy;

    /**
     * 更新时间
     */
//    @ExcelProperty(value = "更新时间")
    private Date updatedTime;

    /**
     * 相关性
     */
    @ExcelProperty(value = "相关性")
    private String relevance;


    /**
     * 考核内容
     */
    @ExcelProperty(value = "考核内容")
    private String examine;

}
